package server.service;

import java.util.HashMap;
import java.util.Set;

/**
 * @author wty
 * @date 2022/10/25 15:46
 * 用于管理和客户端通信的线程
 */
public class ManageServerConnectServiceThread {
    private static HashMap<String, ServerConnectionThread> hashMap = new HashMap<>();

    // 将线程添加到集合中
    public static void add(String userID, ServerConnectionThread serverConnectionThread) {
        hashMap.put(userID, serverConnectionThread);
    }

    // 通过userID获取集合中ServerConnectionThread对象
    public static ServerConnectionThread get(String userID) {
        return hashMap.get(userID);
    }

    // 这里编写一个方法，返回在线用户列表
    public static String getOnlineUser() {
        Set<String> keySet = hashMap.keySet();
        String onlineUserList = "";
        for (String s : keySet) {
            onlineUserList += s + " ";
        }
        return onlineUserList;
    }

    // 从集合中移除
    public static void remove(String userID) {
        hashMap.remove(userID);
    }

    // 这里编写一个方法，返回在线用户列表,除了自己
    public static String getOnlineUserExceptUser(String userID) {
        Set<String> keySet = hashMap.keySet();
        String onlineUserList = "";
        for (String s : keySet) {

            if (userID.equals(s)) {
                continue;
            }
            onlineUserList += s + " ";
        }
        return onlineUserList;
    }

}
